// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程：https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129

/**
 * @typedef {Object} Address
 * @property {number} id - 地址id
 * @property {string} name - 收货人姓名
 * @property {string} phone - 收货人电话
 * @property {string} province - 省份
 * @property {string} city - 城市
 * @property {string} district - 区县
 * @property {string} detail - 详细地址
 * @property {boolean} isDefault - 是否默认地址
 */

/**
 * 地址模块
 */
module.exports = {
  _before: function () {
    // 通用预处理器
  },
  /**
   * 获取地址列表
   * @returns {Promise<Address[]>}
   */
  getList: async function () {
    const db = uniCloud.database().collection('uni-id-address')
    return db.orderBy('id', 'desc').get()
  },
  /**
   * 添加地址
   * @param {Address} data
   */
  add: async function (data) {
    const db = uniCloud.database().collection('uni-id-address')
    return db.add(data)
  },
  /**
   * 删除地址
   * @param {number} id
   */
  delete: async function (id) {
    const db = uniCloud.database().collection('uni-id-address')
    return db.where({ id }).remove()
  },
}
